package com.nit.lab.dao;

import com.nit.lab.dto.DtoStore;
import com.nit.lab.dto.DtoSysFile;
import com.nit.lab.model.SysFileEntity;

import javax.persistence.criteria.CriteriaBuilder;
import java.util.List;

/**
 * @author be_yond
 * @date 2017/10/24
 */
public interface FileDao {


    /**
     * @Description: 获取文件数量
     * @Author: 卫超越
     * @Date:2017/10/30 下午2:06
     */
    Integer getFile4DataTableCount(String search, Integer pre, Integer actorId) throws Exception;

    /**
     * @Description: 获取文件信息
     * @Author: 卫超越
     * @Date:2017/10/30 下午2:10
     */
    List<DtoSysFile> getFileDataTable(Integer start, Integer length, String search, Integer pre, Integer actorId) throws Exception;

    /**
     * @Description: 上传文件
     * @Author: 卫超越
     * @Date:2017/10/24 下午10:49
     */
    Integer uploadFile(SysFileEntity file) throws Exception;

    /**
     * @Description: 更新文件
     * @Author: 卫超越
     * @Date: 2017/12/4 上午11:37
     * @return:
     */
    Integer updataFileInfo(SysFileEntity sysFileEntity) throws Exception;

    /**
     * @Description: 删除文件
     * @Author: 卫超越
     * @Date: 2017/12/4 下午6:19
     * @return:
     */
    String deleteFile(Integer fileId) throws Exception;

    /**
     * @Description: 为用户获取所有的文件
     * @Author: 卫超越
     * @Date: 2017/12/11 下午1:51
     * @return:
     */

    List<DtoSysFile> getFileDataTableForUser(Integer start, Integer length, String search, Integer sessionId) throws Exception;

    /**
     * @Description: 文件数量
     * @Author: 卫超越
     * @Date: 2017/12/11 下午1:55
     * @return:
     */
    Integer getFile4DataTableForUserCount(String search, Integer sessionId) throws Exception;

    /**
     * @Description: 获取所有店家
     * @Author: 卫超越
     * @Date: 2017/12/28 下午9:09
     * @return:
     */
    List<DtoStore> dtoStores() throws Exception;
}
